Compose Yaml其實有不少可以好好琢磨的地方,大家可以嘗試好好研讀跟熟練,我覺得多練習撰寫yaml,對未來轉換到k8s寫yaml,幫助會很大
這邊說明一下compose yaml的top-level
所有top-level的撰寫中,只有service是必要的,沒有service就無法讓compose可以正常執行,其他top-level可以依據需求調整
我們這邊小試身手,嘗試把docker run轉換成docker compose yaml
從最簡單的docker run -d -p 3000:3000 gogs/gogs,我們來看如何拆解。
ports:
- "3000:3000"
參考:
https://docs.docker.com/compose/compose-file/05-services/#attach
image: gogs/gogs
參考:
https://docs.docker.com/engine/reference/commandline/compose_up/
所以我們來改寫成compose yaml吧
version: "3"
name: test1
services:
gogs:
image: gogs/gogs
ports:
- "3000:3000"
執行
docker-compose -f docker-compose.yaml up -d
成功!!!
本篇很簡單的將docker run改成docker compose yaml,後續會把之前寫的dns也做轉換。